﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ArrayListTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //查找集合中是否含有 abc 元素
            ArrayList list1 = new ArrayList() { "aaa","abc","bbb","ccc" };
            Console.WriteLine("请输入您要查找的内容：");
            string str =Console.ReadLine();
            int index = list1.IndexOf(str);
            if (index != -1)
            {
                Console.WriteLine("存在元素{0}，其第一次出现的位置为：{1}",str,index);
            }
            else
            {
                Console.WriteLine("不存在元素{0}",str);
            }

            Console.WriteLine("\n");

            //将集合中元素下标是偶数的元素添加到另一个集合中
            ArrayList list2 = new ArrayList() { "aaa", "abc", "bbb", "ccc", 123 };
            ArrayList list3 = new ArrayList();
            for (int i = 0; i < list2.Count; i=i+2)
            {
                list3.Add(list2[i]);
            }
            foreach (var item in list3)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\n");

            //在集合中第一个元素的后面任意插入 3 个元素
            ArrayList list4 = new ArrayList() { "aaa", "abc", "bbb", "ccc", 123 };
            ArrayList list5 = new ArrayList() { "HYR","HHH","XXX"};
            list4.InsertRange(1,list5);
            foreach (var item in list4)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\n");

            //将集合中的元素使用 Sort 方法排序后输出
            ArrayList list6 = new ArrayList() { "aaa", "ccc", "bbb", "der" };
            list6.Sort();
            foreach (var item in list6)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\n");

            //使用ICompare的方式来排序输出string
            ArrayList list7 = new ArrayList() { "aaa", "ccc", "bbb", "der" };
            MyCompare myCompare = new MyCompare();
            list7.Sort(myCompare);
            foreach (var item in list7)
            {
                Console.WriteLine(item);
            }
        }
    }
}
